#include <iostream>
#include <stack>
#include <map>

bool isValidBracketSequence(const std::string& sequence) {
    std::stack<char> stack;
    std::map<char, char> bracketPairs = {{'(', ')'}, {'[', ']'}, {'{', '}'}, {'<', '>'}};

    for (char symbol : sequence) {
        if (bracketPairs.find(symbol) != bracketPairs.end()) {
            // Символ является скобкой
            stack.push(symbol);
        } else if (!stack.empty() && bracketPairs.count(stack.top()) && symbol == bracketPairs[stack.top()]) {
            // Символ соответствует закрывающей скобке для верхней в стеке открывающей скобки
            stack.pop();
        } else {
            // Если символ не является скобкой, пропускаем
            continue;
        }
    }

    return stack.empty(); // Верная последовательность, если стек пуст
}

int main() {
    std::string input;
    std::cout << "Введите последовательность символов: ";
    std::cin >> input;

    bool result = isValidBracketSequence(input);
    std::cout << (result ? "True" : "False") << std::endl;

    return 0;
}